Integrated circuits have become very complex, sometimes including millions of transistors on a single chip. The processes currently used in production of integrated circuits allow for using very small transistors, which makes their design even more complex. It is therefore important to verify correctness of the design of integrated circuits.
Many elements of integrated circuits are synchronous elements which are timed by a clock signal. The faster the clock signal operates, the more operations are performed by the integrated circuit within a given time. There are, however, limitations on the speed at which circuits can operate and the clock signal therefore has to have a rate lower than the fastest rate allowed by the circuit. Different circuits are therefore designed at different rates. Some integrated circuits include sections which operate at different clock rates. A point at which circuits having different clock rates are interconnected is referred to as a clock domain crossing (CDC). Incorrect design of clock domain crossings may result in the entire integrated circuit not operating properly.
A paper titled: “A Comprehensive Approach to Modeling, Characterizing and Optimizing for Metastability in FPGAs”, by Betz et al., the disclosure of which is incorporated herein by reference, presents a function for calculating a mean time between synchronization failures (MTBF) and requires that the MTBF be sufficiently long to avoid synchronization failures.
Chapter 11 of the Quatrus II handbook, Vol. 1, describes a timing analyzer which reports the MTBF for synchronizers included in a designed circuit.
US patent application publication 2005/0097484 to Sarwary et al., the disclosure of which is incorporated herein by reference, describes a computer program which searches integrated circuits for clock crossings and verifies that they have an explicit synchronization cell. If there is no synchronization cell, the computer program determines if the clock is stable at the crossing.
US patent application publication 2006/0190754 to Dargelas et al., the disclosure of which is incorporated herein by reference, describes a tool which automatically detects handshake mechanisms for controlling data transfer over CDCs and verifies their correctness.